// Copyright: personal possession of Nguyen Minh Kha
// Datetime: 05:20PM 09/27/2011
// Discription: Object that inherit from this abstract class represent 
//  for a controlable object. E.g: the solider that gamer control
// Licensce: Free source
// Writer: Nguyen Minh Kha

/* Google opensource coding standard with variable name exception */

#ifndef GAMEFRAMEWORK_CONTROLLABLEOBJECT_H_
#define GAMEFRAMEWORK_CONTROLLABLEOBJECT_H_

#include <dinput.h>

class ControllableObject {
public:
  //
  // 
  //
  virtual void DoControl(bool key_down, int key_code) = 0;
  /*
   * Use this loop thread to manage loop control
   *   such as key down until key up.
   */
  virtual void DoControlThread() = 0;
};

#endif //GAMEFRAMEWORK_CONTROLLABLEOBJECT_H_
